﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.DynamicData;
using System.Web.UI.WebControls;

namespace NotAClue.ComponentModel.DataAnnotations
{

    [AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
    public class FieldOptionsAttribute : Attribute
    {
        public FieldOptionsAttribute()
        {
            TextBoxMode = TextBoxMode.SingleLine;
        }

        /// <summary>
        /// Gets or sets a value indicating whether [set select one] in a list control.
        /// </summary>
        /// <value><c>true</c> if [set select one]; otherwise, <c>false</c>.</value>
        public Boolean SetSelectOne { get; set; }

        /// <summary>
        /// Gets or sets the height.
        /// </summary>
        /// <value>The height.</value>
        public int Height { get; set; }

        /// <summary>
        /// Gets or sets the width.
        /// </summary>
        /// <value>The width.</value>
        public int Width { get; set; }

        /// <summary>
        /// Gets or sets the rows.
        /// </summary>
        /// <value>The rows.</value>
        public int Rows { get; set; }

        /// <summary>
        /// Gets or sets the columns.
        /// </summary>
        /// <value>The columns.</value>
        public int Columns { get; set; }

        /// <summary>
        /// Gets or sets the max size of a filed before it is truncated.
        /// </summary>
        /// <value>The max truncate size.</value>
        public int TruncateSize { get; set; }

        /// <summary>
        /// Gets or sets the text box mode.
        /// </summary>
        /// <value>The text box mode.</value>
        public TextBoxMode TextBoxMode { get; set; }
    }
}